| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- // components/condition-screening/condition-screening.js
- Component({
- /**
- * 组件的属性列表
- */
- properties: {
- // 默认城市名
- cityName: {
- type: String,
- value: '',
- observer(city_name) {
- this.setData({
- city_name
- })
- }
- },
- //地区编码
- countryCode: {
- type: String,
- value: ''
- },
- // 默认地区列表
- areaList: {
- type: Array,
- value: wx.getStorageSync('areaList')
- },
- // 是否展示地区
- show_area: {
- type: Boolean,
- value: true
- },
- // 是否展示薪资
- show_salay: {
- type: Boolean,
- value: true
- },
- // 是否展示距离
- show_distince: {
- type: Boolean,
- value: true
- },
- // 是否展示结算方式
- show_settlement: {
- type: Boolean,
- value: true
- }
- },
- /**
- * 组件的初始数据
- */
- data: {
- // 结算方式
- settlementMethod: [
- {
- index: '',
- name: '不限'
- },
- {
- index: 2,
- name: '日结'
- },
- {
- index: 1,
- name: '周结'
- },
- {
- index: 0,
- name: '月结'
- },
- {
- index: 3,
- name: '完工结'
- },
- {
- index: 4,
- name: '其他'
- },
- ],
- showAreaList: false, // 显示地区选择开关
- showSettlement: false, // 显示地区选择开关
- totalSalary: '', //薪资待遇排序(1:正序;2:倒序)
- sort: '', //距离排序(1:正序;2:倒序)
- settle: '', //结算方式索引
- selectId: -1, //选中筛选的条件
- city_name: '' //实际显示的地区变量
- },
- /**
- * 组件的方法列表
- */
- methods: {
- // 显示地区选择
- showArea() {
- this.setData({
- selectId: -1,
- showSettlement: false,
- showAreaList: !this.data.showAreaList
- })
- },
- // 显示结算方式
- showSettlementMethod() {
- this.setData({
- selectId: 0,
- showSettlement: !this.data.showSettlement,
- showAreaList: false
- })
- },
- // 选择地区
- chooseArea(e) {
- const { cityname, countrycode } = e.currentTarget.dataset;
- this.setData({
- city_name: countrycode ? cityname : this.data.cityName,
- countryCode: countrycode,
- showAreaList: false,
- }, () => {
- const { countryCode, totalSalary, sort, settle } = this.data;
- this.triggerEvent('area', { countryCode, totalSalary, sort, settle })
- })
- },
- // 选择结算方式
- doSettlemethod(e) {
- const { settle } = e.currentTarget.dataset;
- this.setData({
- showSettlement: false,
- settle
- }, () => {
- const { countryCode, totalSalary, sort, settle } = this.data;
- this.triggerEvent('settlemethod', { countryCode, totalSalary, sort, settle })
- })
- },
- // 按照薪资排序
- doSalay() {
- let totalSalary = null;
- if (this.data.totalSalary == 1) {
- totalSalary = 2;
- } else {
- totalSalary = 1;
- }
- this.setData({
- selectId: 1,
- totalSalary,
- sort: '',
- showSettlement: false,
- showAreaList: false
- }, () => {
- const { countryCode, totalSalary, sort, settle } = this.data;
- this.triggerEvent('salay', { countryCode, totalSalary, sort, settle })
- })
- },
- // 按照地区排序
- doDistince() {
- let sort = null;
- if (this.data.sort == 1) {
- sort = 2;
- } else {
- sort = 1;
- }
- this.setData({
- selectId: 2,
- sort,
- totalSalary: '', //重置
- showAreaList: false,
- showSettlement: false,
- }, () => {
- const { countryCode, totalSalary, sort, settle } = this.data;
- this.triggerEvent('distince', { countryCode, totalSalary, sort, settle })
- })
- }
- }
- })
|