| | |
| | | # VUE_APP_API_URL = 'http://192.168.5.13/gateway_interface' |
| | | |
| | | # 任康 |
| | | # VUE_APP_API_URL = 'http://192.168.0.143:10010' |
| | | VUE_APP_API_URL = 'http://192.168.0.143:10010' |
| | | |
| | | # èå§ |
| | | # VUE_APP_API_URL = 'http://192.168.0.108:10010/' |
| | | |
| | | # æµè¯æå¡ |
| | | VUE_APP_API_URL = 'https://dmtest.ahapp.net/gateway_interface' |
| | | # VUE_APP_API_URL = 'https://dmtest.ahapp.net/gateway_interface' |
| | |
| | | "dependencies": { |
| | | "@amap/amap-jsapi-loader": { |
| | | "version": "1.0.1", |
| | | "resolved": "https://registry.npmmirror.com/@amap/amap-jsapi-loader/-/amap-jsapi-loader-1.0.1.tgz", |
| | | "resolved": "https://registry.npmjs.org/@amap/amap-jsapi-loader/-/amap-jsapi-loader-1.0.1.tgz", |
| | | "integrity": "sha512-nPyLKt7Ow/ThHLkSvn2etQlUzqxmTVgK7bIgwdBRTg2HK5668oN7xVxkaiRe3YZEzGzfV2XgH5Jmu2T73ljejw==" |
| | | }, |
| | | "@babel/code-frame": { |
| | |
| | | "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=", |
| | | "dev": true |
| | | }, |
| | | "ansi-styles": { |
| | | "version": "4.3.0", |
| | | "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", |
| | | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "color-convert": "^2.0.1" |
| | | } |
| | | }, |
| | | "chalk": { |
| | | "version": "4.1.2", |
| | | "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", |
| | | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "ansi-styles": "^4.1.0", |
| | | "supports-color": "^7.1.0" |
| | | } |
| | | }, |
| | | "color-convert": { |
| | | "version": "2.0.1", |
| | | "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", |
| | | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "color-name": "~1.1.4" |
| | | } |
| | | }, |
| | | "color-name": { |
| | | "version": "1.1.4", |
| | | "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", |
| | | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", |
| | | "dev": true, |
| | | "optional": true |
| | | }, |
| | | "has-flag": { |
| | | "version": "4.0.0", |
| | | "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", |
| | | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", |
| | | "dev": true, |
| | | "optional": true |
| | | }, |
| | | "loader-utils": { |
| | | "version": "2.0.4", |
| | | "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz", |
| | | "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "big.js": "^5.2.2", |
| | | "emojis-list": "^3.0.0", |
| | | "json5": "^2.1.2" |
| | | } |
| | | }, |
| | | "ssri": { |
| | | "version": "8.0.1", |
| | | "resolved": "https://registry.npm.taobao.org/ssri/download/ssri-8.0.1.tgz?cache=0&sync_timestamp=1617826515595&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fssri%2Fdownload%2Fssri-8.0.1.tgz", |
| | |
| | | "dev": true, |
| | | "requires": { |
| | | "minipass": "^3.1.1" |
| | | } |
| | | }, |
| | | "supports-color": { |
| | | "version": "7.2.0", |
| | | "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", |
| | | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "has-flag": "^4.0.0" |
| | | } |
| | | }, |
| | | "vue-loader-v16": { |
| | | "version": "npm:vue-loader@16.8.3", |
| | | "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz", |
| | | "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "chalk": "^4.1.0", |
| | | "hash-sum": "^2.0.0", |
| | | "loader-utils": "^2.0.0" |
| | | } |
| | | } |
| | | } |
| | |
| | | "dev": true |
| | | }, |
| | | "vue-clipboard2": { |
| | | "version": "0.3.1", |
| | | "resolved": "https://registry.npm.taobao.org/vue-clipboard2/download/vue-clipboard2-0.3.1.tgz", |
| | | "integrity": "sha1-blUft704SImyiw2jsSKJ7WvKSJQ=", |
| | | "version": "0.3.3", |
| | | "resolved": "https://registry.npmmirror.com/vue-clipboard2/-/vue-clipboard2-0.3.3.tgz", |
| | | "integrity": "sha512-aNWXIL2DKgJyY/1OOeITwAQz1fHaCIGvUFHf9h8UcoQBG5a74MkdhS/xqoYe7DNZdQmZRL+TAdIbtUs9OyVjbw==", |
| | | "requires": { |
| | | "clipboard": "^2.0.0" |
| | | } |
| | |
| | | "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz", |
| | | "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", |
| | | "dev": true |
| | | } |
| | | } |
| | | }, |
| | | "vue-loader-v16": { |
| | | "version": "npm:vue-loader@16.8.3", |
| | | "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz", |
| | | "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "chalk": "^4.1.0", |
| | | "hash-sum": "^2.0.0", |
| | | "loader-utils": "^2.0.0" |
| | | }, |
| | | "dependencies": { |
| | | "ansi-styles": { |
| | | "version": "4.3.0", |
| | | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", |
| | | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "color-convert": "^2.0.1" |
| | | } |
| | | }, |
| | | "chalk": { |
| | | "version": "4.1.2", |
| | | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", |
| | | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "ansi-styles": "^4.1.0", |
| | | "supports-color": "^7.1.0" |
| | | } |
| | | }, |
| | | "color-convert": { |
| | | "version": "2.0.1", |
| | | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", |
| | | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "color-name": "~1.1.4" |
| | | } |
| | | }, |
| | | "color-name": { |
| | | "version": "1.1.4", |
| | | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", |
| | | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", |
| | | "dev": true, |
| | | "optional": true |
| | | }, |
| | | "has-flag": { |
| | | "version": "4.0.0", |
| | | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", |
| | | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", |
| | | "dev": true, |
| | | "optional": true |
| | | }, |
| | | "loader-utils": { |
| | | "version": "2.0.4", |
| | | "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", |
| | | "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "big.js": "^5.2.2", |
| | | "emojis-list": "^3.0.0", |
| | | "json5": "^2.1.2" |
| | | } |
| | | }, |
| | | "supports-color": { |
| | | "version": "7.2.0", |
| | | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", |
| | | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", |
| | | "dev": true, |
| | | "optional": true, |
| | | "requires": { |
| | | "has-flag": "^4.0.0" |
| | | } |
| | | } |
| | | } |
| | | }, |
| | |
| | | "path": "^0.12.7", |
| | | "qrcodejs2": "0.0.2", |
| | | "vue": "^2.6.11", |
| | | "vue-clipboard2": "^0.3.1", |
| | | "vue-clipboard2": "^0.3.3", |
| | | "vue-cropper": "^0.6.5", |
| | | "vue-json-viewer": "^2.2.22", |
| | | "vue-router": "^3.5.1", |
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | // æ¥è¯¢ |
| | | export function fetchList (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/ywContractBill/findPageForOverdue', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | |
| | | export function deleteById (id) { |
| | | return request.get(`/visitsAdmin/cloudService/business/ywStocktaking/delete/${id}`) |
| | | } |
| | | |
| | | // æ ¹æ®IDæ¥è¯¢ |
| | | export function getById (id) { |
| | | return request.get(`/visitsAdmin/cloudService/business/ywStocktaking/${id}`) |
| | | } |
| | | |
| | | // åæ¶çç¹å |
| | | export function cancelById (id) { |
| | | return request.get(`/visitsAdmin/cloudService/business/ywStocktaking/cancelById?id=${id}`) |
| | | } |
| | | |
| | | // 宿çç¹å |
| | | export function finishById (id) { |
| | | return request.get(`/visitsAdmin/cloudService/business/ywStocktaking/finishById?id=${id}`) |
| | | } |
| | | |
| | | // æ¥è¯¢ |
| | | export function ywStocktakingRecordPage (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/ywStocktakingRecord/page', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | |
| | |
| | | return request.post('/visitsAdmin/cloudService/business/ywWarehouse/create', data) |
| | | } |
| | | |
| | | // å表 |
| | | export function list (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/ywWarehouse/list', data) |
| | | } |
| | | |
| | | // æ ¹æ®IDä¿®æ¹ |
| | | export function updateById (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/ywWarehouse/updateById', data) |
| | |
| | | <el-form ref="form" :model="form" label-width="120px"> |
| | | <el-form-item label="ç信模æ¿"> |
| | | <div style="display: flex; align-items: self-start;"> |
| | | <el-input type="textarea" rows="5" v-model="form.desc"></el-input> |
| | | <el-button type="primary" style="margin-left: 10px;">ä¿å</el-button> |
| | | <el-input type="textarea" rows="5" v-model="form.smsTemp"></el-input> |
| | | <!-- <el-button type="primary" style="margin-left: 10px;">ä¿å</el-button>--> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="é®ç®±æ¨¡æ¿"> |
| | | <div style="display: flex; align-items: self-start;"> |
| | | <el-input type="textarea" rows="5" v-model="form.desc"></el-input> |
| | | <el-button type="primary" style="margin-left: 10px;">ä¿å</el-button> |
| | | <el-input type="textarea" rows="5" v-model="form.emailTemp"></el-input> |
| | | <!-- <el-button type="primary" style="margin-left: 10px;">ä¿å</el-button>--> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="ç§èµéç¥å模æ¿"> |
| | | <div style="display: flex; align-items: self-start;"> |
| | | <el-tooltip style="margin-right: 10px; margin-top: 10px; flex-shrink: 0;" effect="dark" content="å
å«ç§èµè´¹ãç©ä¸è´¹ãç§èµæ¼éãç©ä¸æ¼é" placement="bottom-start"> |
| | | <i class="el-icon-question"></i> |
| | | </el-tooltip> |
| | | <el-upload |
| | | style="flex: 1;" |
| | | class="upload-demo" |
| | | :action="uploadImgUrl" |
| | | :data="uploadData" |
| | | :on-success="uploadAvatarSuccess" |
| | | :on-remove="handleRemove" |
| | | :file-list="form.leaseTemp"> |
| | | <el-button size="small" type="primary">ç¹å»ä¸ä¼ </el-button> |
| | | </el-upload> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="å
¶ä»éç¥å模æ¿"> |
| | | <el-upload |
| | | class="upload-demo" |
| | | :action="uploadImgUrl" |
| | | :data="uploadData" |
| | | :on-success="uploadAvatarSuccess1" |
| | | :on-remove="handleRemove1" |
| | | :file-list="form.otherTemp"> |
| | | <el-button size="small" type="primary">ç¹å»ä¸ä¼ </el-button> |
| | | </el-upload> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="submit">ä¿å</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | |
| | | name: 'collectionSettings', |
| | | data() { |
| | | return { |
| | | uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/uploadBatch', |
| | | uploadData: { |
| | | folder: 'TEMP_CONFIG' |
| | | }, |
| | | form: { |
| | | desc: '' |
| | | emailTemp: '', |
| | | smsTemp: '', |
| | | leaseTemp: [], |
| | | otherTemp: [] |
| | | } |
| | | } |
| | | }, |
| | |
| | | this.getCallTempVal() |
| | | }, |
| | | methods: { |
| | | submit() { |
| | | |
| | | }, |
| | | handleRemove(e) { |
| | | this.form.leaseTemp = [] |
| | | }, |
| | | uploadAvatarSuccess(file) { |
| | | const item = file.data[0] |
| | | this.form.leaseTemp = [{ ...item, name: item.originname }] |
| | | }, |
| | | handleRemove1(e) { |
| | | this.form.otherTemp = [] |
| | | }, |
| | | uploadAvatarSuccess1(file) { |
| | | const item = file.data[0] |
| | | this.form.otherTemp = [{ ...item, name: item.originname }] |
| | | }, |
| | | getCallTempVal() { |
| | | getCallTemp({}) |
| | | .then(res => { |
| | | console.log(res) |
| | | this.form.smsTemp = res.smsTemp.title |
| | | this.form.emailTemp = res.emailTemp.title |
| | | this.form.leaseTemp = [{ url: res.leaseTemp.url, name: res.leaseTemp.title }] |
| | | this.form.otherTemp = [{ url: res.otherTemp.url, name: res.otherTemp.title }] |
| | | }) |
| | | } |
| | | } |
| | |
| | | align-items: self-start; |
| | | justify-content: space-between; |
| | | .content_form { |
| | | width: 60%; |
| | | width: 70%; |
| | | } |
| | | } |
| | | } |
| | |
| | | <el-tag type="success" v-if="info.status === 0">å¼å¯</el-tag> |
| | | <el-tag type="info" v-if="info.status === 1">å
³é</el-tag> |
| | | </div> |
| | | <el-button plain type="primary" v-if="![1].includes(info.payStatus)" @click="$refs.flowingWater.open('åå»ºæ¶æ¯æµæ°´', { |
| | | billType: returnBillType(), |
| | | billId: info.id, |
| | | costType: info.costType, |
| | | receivableFee: Math.abs(info.needReceivableFee), |
| | | costTypeName: returnText(info.costType), |
| | | contractCode: info.contractCode, |
| | | contractId: info.contractId, |
| | | startDate: info.startDate, |
| | | endDate: info.endDate, |
| | | multifileList: [], |
| | | date: `${info.startDate} ~ ${info.endDate}`, |
| | | companyId: info.companyId, |
| | | companyName: info.companyName, |
| | | actReceivableFee: Math.abs(info.needReceivableFee), |
| | | needReceivableFeeCopy: info.needReceivableFee |
| | | })">æ°å»ºæ¶æ¯æµæ°´</el-button> |
| | | <div style="display: flex; align-items: center;"> |
| | | <el-button @click="$refs.call.open('åéå¬ç¼´éç¥', info)">åéç¼´è´¹éç¥</el-button> |
| | | <el-button plain type="primary" v-if="![1].includes(info.payStatus)" @click="$refs.flowingWater.open('åå»ºæ¶æ¯æµæ°´', { |
| | | billType: returnBillType(), |
| | | billId: info.id, |
| | | costType: info.costType, |
| | | receivableFee: Math.abs(info.needReceivableFee), |
| | | costTypeName: returnText(info.costType), |
| | | contractCode: info.contractCode, |
| | | contractId: info.contractId, |
| | | startDate: info.startDate, |
| | | endDate: info.endDate, |
| | | multifileList: [], |
| | | date: `${info.startDate} ~ ${info.endDate}`, |
| | | companyId: info.companyId, |
| | | companyName: info.companyName, |
| | | actReceivableFee: Math.abs(info.needReceivableFee), |
| | | needReceivableFeeCopy: info.needReceivableFee |
| | | })">æ°å»ºæ¶æ¯æµæ°´</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="line"></div> |
| | | <div class="main"> |
| | |
| | | <FlowingWater ref="flowingWater" @success="getDetails" @refresh="Refresh" /> |
| | | <!-- åå详æ
--> |
| | | <ContractDetail ref="ContractDetailRef" /> |
| | | <!-- åéç¼´è´¹éç¥ --> |
| | | <Call ref="call" /> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import FlowingWater from './flowingWater' |
| | | import Call from './call' |
| | | import ContractDetail from '../../contract/components/contractDetail' |
| | | import { getYwContractBillById } from '@/api/contract' |
| | | export default { |
| | | components: { |
| | | GlobalWindow, |
| | | FlowingWater, |
| | | ContractDetail |
| | | ContractDetail, |
| | | Call |
| | | }, |
| | | extends: BaseOpera, |
| | | data() { |
| | |
| | | <GlobalWindow |
| | | :title="title" |
| | | :visible.sync="visible" |
| | | width="100%"> |
| | | width="100%" |
| | | @confirm="confirm"> |
| | | <el-form :model="form" label-position="top" ref="paramRef" :rules="rules"> |
| | | <el-form-item label="éç¥æ¹å¼" prop="title"> |
| | | <el-checkbox-group v-model="form.title"> |
| | | <el-checkbox label="ç¾é£/é¤å
çº¿ä¸æ´»å¨" name="1"></el-checkbox> |
| | | <el-checkbox label="å°æ¨æ´»å¨" name="2"></el-checkbox> |
| | | <el-checkbox label="线ä¸ä¸»é¢æ´»å¨" name="3"></el-checkbox> |
| | | <el-checkbox label="å纯åçæå
" name="4"></el-checkbox> |
| | | <el-form-item label="éç¥æ¹å¼" prop="type"> |
| | | <el-checkbox-group v-model="form.type"> |
| | | <el-checkbox label="çä¿¡"></el-checkbox> |
| | | <el-checkbox label="é®ä»¶"></el-checkbox> |
| | | </el-checkbox-group> |
| | | </el-form-item> |
| | | <el-form-item label="éç¥æ¥æ¶äºº" prop="companyId"> |
| | | <div style="display: flex; flex-direction: column;"> |
| | | <div style="display: flex; align-items: center; margin-bottom: 20px;"> |
| | | <span style="font-size: 14px; color: black; margin-right: 10px;">å¼ ä¸</span> |
| | | <el-select v-model="form.companyId" placeholder="è¯·éæ©"> |
| | | <el-option label="åºåä¸" value="0"></el-option> |
| | | <el-option label="åºåäº" value="1"></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div style="display: flex; align-items: center;"> |
| | | <span style="font-size: 14px; color: black; margin-right: 10px;">XXXXå
¬å¸</span> |
| | | <el-select v-model="form.companyId" placeholder="è¯·éæ©"> |
| | | <el-option label="åºåä¸" value="0"></el-option> |
| | | <el-option label="åºåäº" value="1"></el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | <el-form-item label="éç¥æ¥æ¶äºº" prop="userId"> |
| | | <el-select v-model="form.userId" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="(item, index) in userList" |
| | | :key="index" |
| | | :label="item.realname" |
| | | :value="item.id" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | </GlobalWindow> |
| | |
| | | <script> |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import { getUserList } from '@/api/system/user' |
| | | export default { |
| | | name: "call", |
| | | components: { GlobalWindow }, |
| | | extends: BaseOpera, |
| | | data() { |
| | | return { |
| | | info: null, |
| | | form: { |
| | | title: '1', |
| | | companyId: '0' |
| | | type: [], |
| | | userId: '' |
| | | }, |
| | | rules: { |
| | | title: [{ required: true, message: '请è¾å
¥' }], |
| | | companyId: [{ required: true, message: 'è¯·éæ©' }], |
| | | } |
| | | type: [{ required: true, message: 'è¯·éæ©', trigger: 'blur' }], |
| | | userId: [{ required: true, message: 'è¯·éæ©', trigger: 'blur' }] |
| | | }, |
| | | userList: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.getUser() |
| | | }, |
| | | methods: { |
| | | |
| | | open (title, target) { |
| | | this.title = title |
| | | this.info = target |
| | | this.visible = true |
| | | }, |
| | | getUser() { |
| | | getUserList({}) |
| | | .then(res => { |
| | | this.userList = res |
| | | }) |
| | | }, |
| | | confirm() { |
| | | this.$refs.paramRef.validate((valid) => { |
| | | if (!valid) { |
| | | return |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | :withFooter="false" |
| | | :visible.sync="visible" |
| | | width="100%"> |
| | | <div class="main"> |
| | | <div class="title">è´¦åä¿¡æ¯</div> |
| | | <div class="list"> |
| | | <el-tag type="info" size="medium" effect="plain" style="margin-right: 10px;">${è´¹ç¨åç§°}</el-tag> |
| | | <el-tag type="info" size="medium" effect="plain" style="margin-right: 10px;">${è®¡è´¹å¨æ}</el-tag> |
| | | <el-tag type="info" size="medium" effect="plain" style="margin-right: 10px;">${åä»·}</el-tag> |
| | | <el-tag type="info" size="medium" effect="plain" style="margin-right: 10px;">${åä½}</el-tag> |
| | | <el-tag type="info" size="medium" effect="plain" style="margin-right: 10px;">${åºæ¶æ¥æ}</el-tag> |
| | | <el-tag type="info" size="medium" effect="plain" style="margin-right: 10px; cursor: pointer;" @click="copy(item.title)" v-for="(item, index) in billTempList" :key="index">{{item.title}}</el-tag> |
| | | </div> |
| | | <div class="title">ååä¿¡æ¯</div> |
| | | <div class="list"> |
| | | <el-tag type="info" size="medium" effect="plain" style="margin-right: 10px;">${è´¹ç¨åç§°}</el-tag> |
| | | <el-tag type="info" size="medium" effect="plain" style="margin-right: 10px;">${è®¡è´¹å¨æ}</el-tag> |
| | | <el-tag type="info" size="medium" effect="plain" style="margin-right: 10px;">${åä»·}</el-tag> |
| | | <el-tag type="info" size="medium" effect="plain" style="margin-right: 10px;">${åä½}</el-tag> |
| | | <el-tag type="info" size="medium" effect="plain" style="margin-right: 10px;">${åºæ¶æ¥æ}</el-tag> |
| | | <el-tag type="info" size="medium" effect="plain" style="margin-right: 10px; cursor: pointer;" @click="copy(item.title)" v-for="(item, index) in contractTempList" :key="index">{{item.title}}</el-tag> |
| | | </div> |
| | | <div class="title">å
¶ä»ä¿¡æ¯</div> |
| | | <div class="list"> |
| | | <el-tag type="info" size="medium" effect="plain" style="margin-right: 10px;">${è´¹ç¨åç§°}</el-tag> |
| | | <el-tag type="info" size="medium" effect="plain" style="margin-right: 10px;">${è®¡è´¹å¨æ}</el-tag> |
| | | <el-tag type="info" size="medium" effect="plain" style="margin-right: 10px;">${åä»·}</el-tag> |
| | | <el-tag type="info" size="medium" effect="plain" style="margin-right: 10px;">${åä½}</el-tag> |
| | | <el-tag type="info" size="medium" effect="plain" style="margin-right: 10px;">${åºæ¶æ¥æ}</el-tag> |
| | | <el-tag type="info" size="medium" effect="plain" style="margin-right: 10px; cursor: pointer;" @click="copy(item.title)" v-for="(item, index) in otherTempList" :key="index">{{item.title}}</el-tag> |
| | | </div> |
| | | </div> |
| | | </GlobalWindow> |
| | |
| | | <script> |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import { getCallTemp } from '@/api/ywTempConfig' |
| | | export default { |
| | | name: "templateKeywords", |
| | | components: { GlobalWindow }, |
| | | extends: BaseOpera, |
| | | data() { |
| | | return { |
| | | |
| | | billTempList: [], |
| | | contractTempList: [], |
| | | otherTempList: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.getCallTempVal() |
| | | }, |
| | | methods: { |
| | | |
| | | open (title) { |
| | | this.title = title |
| | | this.visible = true |
| | | }, |
| | | getCallTempVal() { |
| | | getCallTemp({}) |
| | | .then(res => { |
| | | this.billTempList = res.billTempList |
| | | this.contractTempList = res.contractTempList |
| | | this.otherTempList = res.otherTempList |
| | | }) |
| | | }, |
| | | copy(val) { |
| | | this.$copyText(val).then( |
| | | (e) => { |
| | | this.$message.success('å¤å¶æåï¼') |
| | | }, |
| | | (err) => { |
| | | this.$message.error('å¤å¶æåï¼') |
| | | } |
| | | ); |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | import BullEditFu from './components/bullEditFu.vue' |
| | | import Detail from './components/bullDetail.vue' |
| | | import Call from './components/call.vue' |
| | | import { fetchList } from '@/api/bill' |
| | | import { fetchList } from '@/api/ywContractBill' |
| | | export default { |
| | | components: { |
| | | Pagination, |
| | |
| | | <div class="main_app"> |
| | | <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear" /> |
| | | <div class="mt20"> |
| | | <el-button type="primary" @click="handleEx()" v-permissions="['business:ywpatrolline:create']">æ·»å </el-button> |
| | | <el-button type="primary" @click="$refs.newInventory.open('æ°å»ºçç¹å')" v-permissions="['business:ywpatrolline:create']">æ·»å </el-button> |
| | | </div> |
| | | <el-table v-loading="loading" :data="list" stripe> |
| | | <el-table-column prop="name" label="çç¹ååç§°" min-width="120" show-overflow-tooltip /> |
| | | <el-table-column prop="warehouseName" label="çç¹ä»åº" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="userName" label="çç¹å" min-width="80" show-overflow-tooltip /> |
| | | <el-table-column prop="dealDate" label="çç¹æ¥æ" min-width="110" show-overflow-tooltip /> |
| | | <el-table-column prop="planDate" label="çç¹æ¥æ" min-width="110" show-overflow-tooltip /> |
| | | <el-table-column prop="createName" label="å建人" min-width="80" show-overflow-tooltip /> |
| | | <el-table-column prop="createDate" label="å建æ¶é´" min-width="140" show-overflow-tooltip /> |
| | | <el-table-column label="çç¹ç¶æ" min-width="80"> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="workTime" label="æä½" min-width="140" show-overflow-tooltip> |
| | | <template v-slot="{ row }"> |
| | | <el-button type="text">æ¥ç详æ
</el-button> |
| | | <el-button type="text">åæ¶</el-button> |
| | | <el-button type="text">å é¤</el-button> |
| | | <el-button type="text" @click="$refs.inventoryDetails.open('çç¹è¯¦ç»', row.id)">æ¥ç详æ
</el-button> |
| | | <el-button type="text" v-if="[0,1].includes(row.status)" @click="cancel(row.id)">åæ¶</el-button> |
| | | <el-button type="text" v-if="[0,3].includes(row.status)" @click="dele(row.id)">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="mt20"> |
| | | <Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" /> |
| | | </div> |
| | | <NewInventory ref="newInventory" @success="getList" /> |
| | | <InventoryDetails ref="inventoryDetails" /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import Pagination from '@/components/common/Pagination' |
| | | import QueryForm from '@/components/common/QueryForm' |
| | | import NewInventory from './components/newInventory' |
| | | import InventoryDetails from './components/inventoryDetails' |
| | | import dayjs from 'dayjs' |
| | | import duration from 'dayjs/plugin/duration' |
| | | dayjs.extend(duration) |
| | | import { fetchList } from '@/api/ywStocktaking' |
| | | import { fetchList, cancelById, deleteById } from '@/api/ywStocktaking' |
| | | export default { |
| | | components: { |
| | | Pagination, |
| | | QueryForm |
| | | QueryForm, |
| | | NewInventory, |
| | | InventoryDetails |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | cancel(id) { |
| | | this.$confirm('æ¯å¦ç¡®è®¤åæ¶?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | cancelById(id) |
| | | .then(res => { |
| | | this.getList() |
| | | }) |
| | | }).catch(() => { |
| | | |
| | | }); |
| | | }, |
| | | dele(id) { |
| | | this.$confirm('æ¯å¦ç¡®è®¤å é¤?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | deleteById(id) |
| | | .then(res => { |
| | | this.getList() |
| | | }) |
| | | }).catch(() => { |
| | | |
| | | }); |
| | | }, |
| | | clear() { |
| | | this.filters = {} |
| | | this.pagination.pageSize = 10 |
| | |
| | | <div class="list"> |
| | | <div class="item"> |
| | | <div class="la">çç¹ååç§°</div> |
| | | <div class="val">åºåçç¹20241212</div> |
| | | <div class="val">{{info.name}}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="la">çç¹æ¥æ</div> |
| | | <div class="val">2024-11-17</div> |
| | | <div class="val">{{info.planDate}}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="la">çç¹ä»åº</div> |
| | | <div class="val">ä»åº1</div> |
| | | <div class="val">{{info.warehouseName}}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="la">çç¹å</div> |
| | | <div class="val">å¼ ä¸</div> |
| | | <div class="val">{{info.userName}}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="la">çç¹ç¶æ</div> |
| | | <div class="val">已宿</div> |
| | | <div class="val" v-if="info.status === 0">æªå¼å§</div> |
| | | <div class="val" v-if="info.status === 1">è¿è¡ä¸</div> |
| | | <div class="val" v-if="info.status === 2">已宿</div> |
| | | <div class="val" v-if="info.status === 3">已忶</div> |
| | | </div> |
| | | </div> |
| | | <div class="title">çç¹ç»æ</div> |
| | | <div class="list"> |
| | | <div class="list_search"> |
| | | <div class="list_search_left"> |
| | | <el-input v-model="input" style="width: 200px; margin-right: 10px;" placeholder="请è¾å
¥å
容"></el-input> |
| | | <el-select v-model="input" style="width: 200px; margin-right: 10px;" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | <el-input v-model="form.code" style="width: 200px; margin-right: 10px;" placeholder="请è¾å
¥ç©æåç§°/ç¼ç "></el-input> |
| | | <el-select v-model="form.status" style="width: 150px; margin-right: 10px;" placeholder="çç¹ç¶æ"> |
| | | <el-option label="å·²ç" :value="1"></el-option> |
| | | <el-option label="æªç" :value="0"></el-option> |
| | | </el-select> |
| | | <el-button type="primary">æ¥è¯¢</el-button> |
| | | <el-button>æ¸
空</el-button> |
| | | <el-select v-model="form.type" style="width: 150px; margin-right: 10px;" placeholder="çç¹ç»æ"> |
| | | <el-option label="è´¦å®ç¸ç¬¦" :value="0"></el-option> |
| | | <el-option label="çäº" :value="1"></el-option> |
| | | <el-option label="çç" :value="2"></el-option> |
| | | </el-select> |
| | | <el-button type="primary" @click="getList">æ¥è¯¢</el-button> |
| | | <el-button @click="clear">æ¸
空</el-button> |
| | | <el-button>导åº</el-button> |
| | | </div> |
| | | <div class="list_search_right"> |
| | | <span>å·²ç:100</span> |
| | | <span>æªç:20</span> |
| | | <span>è´¦å®ç¸ç¬¦:88</span> |
| | | <span>çç:2</span> |
| | | <span>çäº:20</span> |
| | | <span>å·²ç:{{info.finishAmount || 0}}</span> |
| | | <span>æªç:{{info.unFinishAmount || 0}}</span> |
| | | <span>è´¦å®ç¸ç¬¦:{{info.equalAmount || 0}}</span> |
| | | <span>çç:{{info.profitAmount || 0}}</span> |
| | | <span>çäº:{{info.lossAmount || 0}}</span> |
| | | </div> |
| | | </div> |
| | | <div style="width: 100%; margin: 20px 0;"> |
| | | <el-table :data="roomList" stripe> |
| | | <el-table-column prop="projectName" label="èµäº§ç¼ç " show-overflow-tooltip /> |
| | | <el-table-column prop="buildingName" label="èµäº§åç§°" show-overflow-tooltip /> |
| | | <el-table-column prop="buildingName" label="æ¡ç " show-overflow-tooltip /> |
| | | <el-table-column prop="buildingName" label="åç" show-overflow-tooltip /> |
| | | <el-table-column prop="buildingName" label="è§æ ¼åå·" show-overflow-tooltip /> |
| | | <el-table-column prop="buildingName" label="åä½" show-overflow-tooltip /> |
| | | <el-table-column prop="buildingName" label="æå¨ä»åº" show-overflow-tooltip /> |
| | | <el-table-column prop="buildingName" label="è´¦é¢æ°é" show-overflow-tooltip /> |
| | | <el-table-column prop="buildingName" label="çç¹æ°é" show-overflow-tooltip /> |
| | | <el-table-column prop="buildingName" label="夿³¨" show-overflow-tooltip /> |
| | | <el-table :data="list" stripe> |
| | | <el-table-column prop="materialCode" label="èµäº§ç¼ç " show-overflow-tooltip /> |
| | | <el-table-column prop="materialName" label="èµäº§åç§°" show-overflow-tooltip /> |
| | | <el-table-column prop="materialQrcode" label="æ¡ç " show-overflow-tooltip /> |
| | | <el-table-column prop="materialBrand" label="åç" show-overflow-tooltip /> |
| | | <el-table-column prop="materialAttr" label="è§æ ¼åå·" show-overflow-tooltip /> |
| | | <el-table-column prop="materialUnitName" label="åä½" show-overflow-tooltip /> |
| | | <el-table-column prop="warehouseName" label="æå¨ä»åº" show-overflow-tooltip /> |
| | | <el-table-column prop="stock" label="è´¦é¢æ°é" show-overflow-tooltip /> |
| | | <el-table-column prop="actStock" label="çç¹æ°é" show-overflow-tooltip /> |
| | | <el-table-column prop="remark" label="夿³¨" show-overflow-tooltip /> |
| | | </el-table> |
| | | </div> |
| | | <div class="list_pagination"> |
| | |
| | | <script> |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import { ywStocktakingRecordPage, getById } from '@/api/ywStocktaking' |
| | | export default { |
| | | name: "inventoryDetails", |
| | | components: { |
| | |
| | | extends: BaseOpera, |
| | | data() { |
| | | return { |
| | | id: null, |
| | | info: {}, |
| | | input: '', |
| | | options: [], |
| | | roomList: [], |
| | | |
| | | list: [], |
| | | form: { |
| | | code: '', |
| | | status: '', |
| | | type: '' |
| | | }, |
| | | pageSize: 10, |
| | | total: 0, |
| | | page: 1 |
| | |
| | | methods: { |
| | | handleSizeChange(size) { |
| | | this.pageSize = size |
| | | this.getList() |
| | | }, |
| | | handleCurrentChange(page) { |
| | | this.page = page |
| | | this.getList() |
| | | }, |
| | | open (title) { |
| | | open (title, id) { |
| | | this.title = title |
| | | this.visible = true |
| | | this.id = id |
| | | this.getDetails() |
| | | this.getList() |
| | | }, |
| | | getDetails() { |
| | | getById(this.id) |
| | | .then(res => { |
| | | this.info = res |
| | | }) |
| | | }, |
| | | clear() { |
| | | this.form.name = '' |
| | | this.form.status = '' |
| | | this.form.type = '' |
| | | this.page = 1 |
| | | this.getList() |
| | | }, |
| | | getList() { |
| | | ywStocktakingRecordPage({ |
| | | capacity: this.pageSize, |
| | | page: this.page, |
| | | model: { |
| | | stocktakingId: this.id, |
| | | code: this.form.code, |
| | | status: this.form.status, |
| | | type: this.form.type |
| | | } |
| | | }).then(res => { |
| | | this.list = res.records |
| | | }) |
| | | } |
| | | } |
| | | } |
| | |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm"> |
| | | <el-form :model="form" ref="form" :rules="rules"> |
| | | <el-form-item label="çç¹ååç§°" prop="name"> |
| | | <el-input v-model="form.name" placeholder="请è¾å
¥çç¹ååç§°" v-trim /> |
| | | </el-form-item> |
| | | <el-form-item label="çç¹æ¥æ" prop="name"> |
| | | <el-form-item label="çç¹æ¥æ" prop="planDate"> |
| | | <el-date-picker |
| | | v-model="form.name" |
| | | v-model="form.planDate" |
| | | @change="getName" |
| | | type="date" |
| | | value-format="yyyy-MM-dd" |
| | | placeholder="éæ©æ¥æ"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="çç¹ä»åº" prop="name"> |
| | | <el-select v-model="form.name" placeholder="è¯·éæ©"> |
| | | <el-option label="å¼ ä¸" :value="1"></el-option> |
| | | <el-option label="æå" :value="1"></el-option> |
| | | <el-option label="çäº" :value="1"></el-option> |
| | | <el-form-item label="çç¹ä»åº" prop="warehouseId"> |
| | | <el-select v-model="form.warehouseId" @change="getName" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="(item, index) in warehouseList" |
| | | :key="index" |
| | | :label="item.name" |
| | | :value="item.id" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="çç¹å" prop="name"> |
| | | <el-select v-model="form.name" placeholder="è¯·éæ©"> |
| | | <el-option label="å¼ ä¸" :value="1"></el-option> |
| | | <el-option label="æå" :value="1"></el-option> |
| | | <el-option label="çäº" :value="1"></el-option> |
| | | <el-form-item label="çç¹å" prop="userId"> |
| | | <el-select v-model="form.userId" @change="getName" placeholder="è¯·éæ©"> |
| | | <el-option |
| | | v-for="(item, index) in userList" |
| | | :key="index" |
| | | :label="item.realname" |
| | | :value="item.id" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="çç¹ååç§°" prop="name"> |
| | | <el-input v-model="form.name" placeholder="请è¾å
¥" v-trim /> |
| | | </el-form-item> |
| | | </el-form> |
| | | </GlobalWindow> |
| | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { list } from '@/api/ywWarehouse' |
| | | import { getUserList } from '@/api/system/user' |
| | | export default { |
| | | name: 'newInventory', |
| | | extends: BaseOpera, |
| | |
| | | form: { |
| | | id: '', |
| | | name: '', |
| | | planDate: '', |
| | | warehouseId: '', |
| | | userId: '' |
| | | }, |
| | | // éªè¯è§å |
| | | rules: { |
| | | name: [{ required: true, message: '请è¾å
¥é¡¹ç®åç§°', trigger: 'blur' }] |
| | | planDate: [{ required: true, message: 'è¯·éæ©çç¹æ¥æ', trigger: 'blur' }], |
| | | warehouseId: [{ required: true, message: 'è¯·éæ©çç¹ä»åº', trigger: 'blur' }], |
| | | userId: [{ required: true, message: 'è¯·éæ©çç¹å', trigger: 'blur' }], |
| | | name: [{ required: true, message: '请è¾å
¥çç¹ååç§°', trigger: 'blur' }] |
| | | }, |
| | | warehouseList: [], |
| | | userList: [] |
| | | } |
| | | }, |
| | | created() { |
| | | this.config({ |
| | | api: '/project/ywProject', |
| | | 'field.id': 'id' |
| | | api: '/ywStocktaking' |
| | | }) |
| | | this.getList() |
| | | }, |
| | | methods: { |
| | | |
| | | getList() { |
| | | list({}) |
| | | .then(res => { |
| | | this.warehouseList = res |
| | | }) |
| | | getUserList({}) |
| | | .then(res => { |
| | | this.userList = res |
| | | }) |
| | | }, |
| | | getName(e) { |
| | | if (this.form.warehouseId && this.form.userId && this.form.planDate) { |
| | | let userName = this.userList.filter(item => item.id === this.form.userId)[0].realname |
| | | let warehouseName = this.warehouseList.filter(item => item.id === this.form.warehouseId)[0].name |
| | | this.form.name = warehouseName + '-' + userName + '-' + this.form.planDate |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | @confirm="confirm"> |
| | | <div class="main"> |
| | | <div class="title"> |
| | | <span>å·¥å详æ
</span> |
| | | <div> |
| | | <div class="status primaryColor" v-if="info.dealStatus == 0 || info.dealStatus == null">å¾
ææ´¾</div> |
| | | <div class="status green" v-if="info.dealStatus == 1">å·²ææ´¾</div> |
| | | <div class="status gray" v-if="info.dealStatus == 2">å·²å¤ç</div> |
| | | <div class="title_left"> |
| | | <span>å·¥å详æ
</span> |
| | | <div> |
| | | <div class="status primaryColor" v-if="info.dealStatus == 0 || info.dealStatus == null">å¾
ææ´¾</div> |
| | | <div class="status green" v-if="info.dealStatus == 1">å·²ææ´¾</div> |
| | | <div class="status gray" v-if="info.dealStatus == 2">å·²å¤ç</div> |
| | | </div> |
| | | </div> |
| | | <el-button>æ¥çé®é¢ä¸æ¥</el-button> |
| | | </div> |
| | | <div class="main_content"> |
| | | <div class="list"> |
| | |
| | | padding-top: 20px; |
| | | |
| | | .title { |
| | | font-weight: 500; |
| | | font-size: 18px; |
| | | color: $primary-color; |
| | | |
| | | margin-bottom: 10px; |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | .status { |
| | | padding: 0 12px; |
| | | height: 24px; |
| | | line-height: 24px; |
| | | border-radius: 2px; |
| | | border: 1px solid #00BA92; |
| | | color: #00BA92; |
| | | font-weight: 400; |
| | | font-size: 12px; |
| | | margin-left: 10px; |
| | | } |
| | | |
| | | .primaryColor { |
| | | border: 1px solid rgba(63, 126, 239, .2); |
| | | background-color: rgba(63, 126, 239, .2); |
| | | } |
| | | |
| | | .green { |
| | | background-color: rgba(83, 183, 148, .2); |
| | | border: 1px solid rgba(83, 183, 148, .2); |
| | | } |
| | | |
| | | .gray { |
| | | color: #333333; |
| | | background-color: rgba(128, 128, 128, .2); |
| | | border: 1px solid rgba(128, 128, 128, .2); |
| | | justify-content: space-between; |
| | | .title_left { |
| | | display: flex; |
| | | align-items: center; |
| | | font-weight: 500; |
| | | font-size: 18px; |
| | | color: $primary-color; |
| | | .status { |
| | | padding: 0 12px; |
| | | height: 24px; |
| | | line-height: 24px; |
| | | border-radius: 2px; |
| | | border: 1px solid #00BA92; |
| | | color: #00BA92; |
| | | font-weight: 400; |
| | | font-size: 12px; |
| | | margin-left: 10px; |
| | | } |
| | | .primaryColor { |
| | | border: 1px solid rgba(63, 126, 239, .2); |
| | | background-color: rgba(63, 126, 239, .2); |
| | | } |
| | | .green { |
| | | background-color: rgba(83, 183, 148, .2); |
| | | border: 1px solid rgba(83, 183, 148, .2); |
| | | } |
| | | .gray { |
| | | color: #333333; |
| | | background-color: rgba(128, 128, 128, .2); |
| | | border: 1px solid rgba(128, 128, 128, .2); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | children: 'childCategoryList' |
| | | }"></el-cascader> |
| | | </el-form-item> |
| | | <el-form-item label="æ¥æº" prop="origin"> |
| | | <el-select v-model="searchForm.origin" clearable filterable> |
| | | <el-option label="èªå»º" :value="0" /> |
| | | <el-option label="é®é¢è½¬å·¥å" :value="1" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="䏿¥æ¶é´"> |
| | | <el-date-picker v-model="searchForm.selDate" @change="changeSelDate" format="yyyy-MM-dd" |
| | | value-format="yyyy-MM-dd" type="daterange"></el-date-picker> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="categoryName" label="å·¥ååç±»" min-width="100px"></el-table-column> |
| | | <el-table-column label="æ¥æº" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.origin == 0">èªå»º</span> |
| | | <span v-if="row.origin == 1">é®é¢è½¬å·¥å</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="creatorName" label="䏿¥äºº" min-width="80px"></el-table-column> |
| | | <el-table-column prop="createDate" label="䏿¥æ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column prop="dealUserName" label="å¤ç人" min-width="80px"></el-table-column> |
| | |
| | | projectId: '', |
| | | buildingId: '', |
| | | cateId: '', |
| | | origin: '' |
| | | }, |
| | | projectList: [], |
| | | buildList: [], |