|
@@ -116,6 +116,10 @@
|
|
|
@click="handleClick(1)"
|
|
|
>审核</Button
|
|
|
>
|
|
|
+ <span v-show="oa_state_apply === 0" style="color:#22a92c;height: 30px;line-height: 30px;margin-right: 10px;font-size: 16px">审核中...</span>
|
|
|
+ <Button style="margin-right: 10px" size="small" type="success" ghost v-show="type != 1&&oa_state_apply==1&& formData.apply_status==1" @click="handlePassModal(1,'apply')">通过</Button>
|
|
|
+ <Button style="margin-right: 10px" size="small" type="error" ghost v-show="type != 1&&oa_state_apply==1&& formData.apply_status==1" @click="handlePassModal(0,'apply')">驳回</Button>
|
|
|
+ <Button type="warning" size="small" ghost v-show="type != 1 && formData.apply_status==1" @click="handleOaModal(241)">审核详情</Button>
|
|
|
</div>
|
|
|
<Form :label-width="80" class="form">
|
|
|
<FormItem label="申领时间">
|
|
@@ -280,6 +284,10 @@
|
|
|
@click="handleClick(2)"
|
|
|
>审核</Button
|
|
|
>
|
|
|
+ <span v-show="oa_state_send === 0" style="color:#22a92c;height: 30px;line-height: 30px;margin-right: 10px;font-size: 16px">审核中...</span>
|
|
|
+ <Button style="margin-right: 10px" size="small" type="success" ghost v-show="type != 1&&oa_state_send==1&& formData.send_status==1" @click="handlePassModal(1,'send')">通过</Button>
|
|
|
+ <Button style="margin-right: 10px" size="small" type="error" ghost v-show="type != 1&&oa_state_send==1&& formData.send_status==1" @click="handlePassModal(0,'send')">驳回</Button>
|
|
|
+ <Button type="warning" size="small" ghost v-show="type != 1 && formData.send_status==1" @click="handleOaModal(242)">审核详情</Button>
|
|
|
</div>
|
|
|
<Form :label-width="80" class="form">
|
|
|
<FormItem label="发货时间">
|
|
@@ -422,6 +430,10 @@
|
|
|
@click="handleClick(3)"
|
|
|
>审核</Button
|
|
|
>
|
|
|
+ <span v-show="oa_state_take === 0" style="color:#22a92c;height: 30px;line-height: 30px;margin-right: 10px;font-size: 16px">审核中...</span>
|
|
|
+ <Button style="margin-right: 10px" size="small" type="success" ghost v-show="type !=1&&oa_state_take==1&& formData.take_status==1" @click="handlePassModal(1,'take')">通过</Button>
|
|
|
+ <Button style="margin-right: 10px" size="small" type="error" ghost v-show="type != 1&&oa_state_take==1&& formData.take_status==1" @click="handlePassModal(0,'take')">驳回</Button>
|
|
|
+ <Button type="warning" size="small" ghost v-show="type != 1 && formData.take_status==1" @click="handleOaModal(243)">审核详情</Button>
|
|
|
</div>
|
|
|
<Form :label-width="80" class="form">
|
|
|
<FormItem label="收货时间">
|
|
@@ -495,6 +507,10 @@
|
|
|
@click="handleClick(4)"
|
|
|
>审核</Button
|
|
|
>
|
|
|
+ <span v-show="oa_state_in === 0" style="color:#22a92c;height: 30px;line-height: 30px;margin-right: 10px;font-size: 16px">审核中...</span>
|
|
|
+ <Button style="margin-right: 10px" size="small" type="success" ghost v-show="type != 1&&oa_state_in==1&& formData.in_status==1" @click="handlePassModal(1,'in')">通过</Button>
|
|
|
+ <Button style="margin-right: 10px" size="small" type="error" ghost v-show="type != 1&&oa_state_in==1&& formData.in_status==1" @click="handlePassModal(0,'in')">驳回</Button>
|
|
|
+ <Button type="warning" size="small" ghost v-show="type != 1 && formData.in_status==1" @click="handleOaModal(244)">审核详情</Button>
|
|
|
</div>
|
|
|
<Form :label-width="80" class="form">
|
|
|
<FormItem label="入库时间">
|
|
@@ -557,12 +573,53 @@
|
|
|
</Form> -->
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <Modal v-model="is_oa" width="30" title="原因" :closable="false" :mask-closable="false">
|
|
|
+ <Form>
|
|
|
+ <FormItem :label-width="60" label="原因">
|
|
|
+ <Input clearable v-model="oa_remark" placeholder="请输入"/>
|
|
|
+ </FormItem>
|
|
|
+ </Form>
|
|
|
+ <div slot="footer">
|
|
|
+ <Button @click="is_oa = false" style="margin-right: 10px">取消</Button>
|
|
|
+ <Button type="primary" ghost @click="handlePass">确认</Button>
|
|
|
+ </div>
|
|
|
+ </Modal>
|
|
|
+ <Modal v-model="is_oaDetail" width="80" title="审核详情" :closable="false" :mask-closable="false">
|
|
|
+ <vxe-grid
|
|
|
+ v-bind="oaGridOptions"
|
|
|
+ >
|
|
|
+ <template #crt_time="{row}">
|
|
|
+ <span>{{func.replaceDateNoHMS(row.crt_time)}}</span>
|
|
|
+ </template>
|
|
|
+ <template #state="{row}">
|
|
|
+ <span>{{row.state==0?'未审核':row.state==1?'审核通过':'审核驳回'}}</span>
|
|
|
+ </template>
|
|
|
+ </vxe-grid>
|
|
|
+ <div slot="footer">
|
|
|
+ <Button @click="is_oaDetail = false" style="margin-right: 10px">取消</Button>
|
|
|
+ </div>
|
|
|
+ </Modal>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
+ oaGridOptions:{
|
|
|
+ border: true,
|
|
|
+ resizable: true,
|
|
|
+ showOverflow: true,
|
|
|
+ align: 'left',
|
|
|
+ columns: [
|
|
|
+ { field: 'sort', width: 80, title: '排序', showHeaderOverflow: true },
|
|
|
+ { field: 'crt_time', title: '时间', showHeaderOverflow: true, minWidth: 100, slots: { default: 'crt_time' } },
|
|
|
+ { field: 'state', title: '状态', showHeaderOverflow: true, minWidth: 100, slots: {default: 'state' } },
|
|
|
+ { field: 'remark', title: '原因', showHeaderOverflow: true, minWidth: 100 },
|
|
|
+ ],
|
|
|
+ data: [
|
|
|
+
|
|
|
+ ]
|
|
|
+ },
|
|
|
gridOptions1: {
|
|
|
border: true,
|
|
|
resizable: true,
|
|
@@ -687,7 +744,21 @@ export default {
|
|
|
areaList: [],
|
|
|
menuList: [],
|
|
|
basicRollFilmList: [],
|
|
|
- companyList: []
|
|
|
+ companyList: [],
|
|
|
+ oa_state_apply:'',
|
|
|
+ oa_id_apply:'',
|
|
|
+ oa_state_send:'',
|
|
|
+ oa_id_send:'',
|
|
|
+ oa_state_take:'',
|
|
|
+ oa_id_take:'',
|
|
|
+ oa_state_in:'',
|
|
|
+ oa_id_in:'',
|
|
|
+ oa_remark:'',
|
|
|
+ is_o:true,
|
|
|
+ is_oa:false,
|
|
|
+ is_oaDetail:false,
|
|
|
+ oa_state_m:'',
|
|
|
+ is_which:''
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
@@ -740,6 +811,41 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ handleOaModal(e){
|
|
|
+ let menu_id = e;
|
|
|
+ this.axios.post('/api/oaOrderList',{menu_id,order_no:this.$route.query.order_number}).then(res=>{
|
|
|
+ this.oaGridOptions.data = res.data;
|
|
|
+ this.is_oaDetail = true;
|
|
|
+ })
|
|
|
+
|
|
|
+ },
|
|
|
+ handlePassModal(e,name){
|
|
|
+ this.oa_state_m = e;
|
|
|
+ this.oa_remark = '';
|
|
|
+ this.is_oa = true;
|
|
|
+ this.is_which = name;
|
|
|
+ },
|
|
|
+ handlePass(){
|
|
|
+ if (this.is_o) {
|
|
|
+ this.is_o = false
|
|
|
+ let id = this.is_which === 'apply' ? this.oa_id_apply : this.is_which === 'send' ? this.oa_id_send : this.is_which === 'take' ? this.oa_id_take : this.oa_id_in
|
|
|
+ let data = {
|
|
|
+ id,
|
|
|
+ state:this.oa_state_m,
|
|
|
+ remark:this.oa_remark
|
|
|
+ }
|
|
|
+ this.axios.post('/api/oaCheck',data).then(res=>{
|
|
|
+ if(res.code === 200){
|
|
|
+ this.$Message.success(res.msg)
|
|
|
+ this.is_oa=false
|
|
|
+ this.initData()
|
|
|
+ }
|
|
|
+ setTimeout(()=>{
|
|
|
+ this.is_o = true
|
|
|
+ },2000)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
handleSelectCompany(e) {
|
|
|
this.formData.four_shop_id = '';
|
|
|
if (e) {
|
|
@@ -778,13 +884,35 @@ export default {
|
|
|
this.gridOptions4.data.splice(index, 1);
|
|
|
},
|
|
|
handleClick(e) {
|
|
|
- let menu_id = this.menuList.find(v => v.uri == '/cms/BusinessManagement/Picking/index').id;
|
|
|
- this.axios.post('/api/checkAll', { order_number: this.$route.query.order_number, opt_case: e, menu_id }).then(res => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.$Message.success(res.msg);
|
|
|
- this.initData();
|
|
|
- }
|
|
|
- })
|
|
|
+ if(e==1){
|
|
|
+ this.axios.post('/api/checkAll', { order_number: this.$route.query.order_number, opt_case: e, menu_id:241 }).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$Message.success(res.msg);
|
|
|
+ this.initData();
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }else if(e==2){
|
|
|
+ this.axios.post('/api/checkAll', { order_number: this.$route.query.order_number, opt_case: e, menu_id:242 }).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$Message.success(res.msg);
|
|
|
+ this.initData();
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }else if(e==3){
|
|
|
+ this.axios.post('/api/checkAll', { order_number: this.$route.query.order_number, opt_case: e, menu_id:243 }).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$Message.success(res.msg);
|
|
|
+ this.initData();
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }else {
|
|
|
+ this.axios.post('/api/checkAll', { order_number: this.$route.query.order_number, opt_case: e, menu_id:244 }).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$Message.success(res.msg);
|
|
|
+ this.initData();
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
},
|
|
|
getArr(arr) {
|
|
|
let data = [];
|
|
@@ -807,30 +935,58 @@ export default {
|
|
|
this.gridOptions1.columns = [
|
|
|
{ type: 'seq', width: 80, title: '序号', showHeaderOverflow: true },
|
|
|
{ field: 'b_r_f_name', title: '卷膜分类', showHeaderOverflow: true, minWidth: 100 },
|
|
|
+ { field: 'code', title: '卷膜代码', showHeaderOverflow: true, minWidth: 100 },
|
|
|
{ field: 'title', title: '卷膜型号', showHeaderOverflow: true, minWidth: 100 },
|
|
|
{ field: 'apply_number', title: '申领数量', showHeaderOverflow: true, minWidth: 100 }, {field: 'mark',title:'备注',showHeaderOverflow: true,minWidth: 100}]
|
|
|
}
|
|
|
+ if(res.data.apply_status==1){
|
|
|
+ this.axios.post('/api/oaOrderState',{menu_id:241,order_no:this.$route.query.order_number}).then(res=>{
|
|
|
+ if (res.code === 200) {
|
|
|
+ this.oa_state_apply = res.data.state;
|
|
|
+ this.oa_id_apply = res.data.id
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
if (res.data.send_status != 0) {
|
|
|
this.gridOptions2.columns = [
|
|
|
{ type: 'seq', width: 80, title: '序号', showHeaderOverflow: true },
|
|
|
{ field: 'b_r_f_name', title: '卷膜分类', showHeaderOverflow: true, minWidth: 100 },
|
|
|
+ { field: 'code', title: '卷膜代码', showHeaderOverflow: true, minWidth: 100 },
|
|
|
{ field: 'title', title: '卷膜型号', showHeaderOverflow: true, minWidth: 100 },
|
|
|
{ field: 'roll_film_number', title: '卷膜编号', showHeaderOverflow: true, minWidth: 100 },
|
|
|
{ field: 'apply_number', title: '申领数量', showHeaderOverflow: true, minWidth: 100 },
|
|
|
{ field: 'send_number', title: '发货数量', showHeaderOverflow: true, minWidth: 100 }, {field: 'mark',title:'备注',showHeaderOverflow: true,minWidth: 100}]
|
|
|
}
|
|
|
+ if(res.data.send_status==1){
|
|
|
+ this.axios.post('/api/oaOrderState',{menu_id:242,order_no:this.$route.query.order_number}).then(res=>{
|
|
|
+ if (res.code === 200) {
|
|
|
+ this.oa_state_send = res.data.state;
|
|
|
+ this.oa_id_send = res.data.id
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
if (res.data.take_status != 0) {
|
|
|
this.gridOptions3.columns = [{ field: 'b_r_f_name', title: '卷膜分类', showHeaderOverflow: true, minWidth: 100 },
|
|
|
+ { field: 'code', title: '卷膜代码', showHeaderOverflow: true, minWidth: 100 },
|
|
|
{ field: 'title', title: '卷膜型号', showHeaderOverflow: true, minWidth: 100 },
|
|
|
{ field: 'roll_film_number', title: '卷膜编号', showHeaderOverflow: true, minWidth: 100 },
|
|
|
{ field: 'apply_number', title: '申领数量', showHeaderOverflow: true, minWidth: 100 },
|
|
|
{ field: 'send_number', title: '发货数量', showHeaderOverflow: true, minWidth: 100 },
|
|
|
{ field: 'take_number', title: '收货数量', showHeaderOverflow: true, minWidth: 100 }, {field: 'mark',title:'备注',showHeaderOverflow: true,minWidth: 100}]
|
|
|
}
|
|
|
+ if(res.data.take_status==1){
|
|
|
+ this.axios.post('/api/oaOrderState',{menu_id:243,order_no:this.$route.query.order_number}).then(res=>{
|
|
|
+ if (res.code === 200) {
|
|
|
+ this.oa_state_take = res.data.state;
|
|
|
+ this.oa_id_take = res.data.id
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
if (res.data.in_status != 0) {
|
|
|
this.gridOptions4.columns = [
|
|
|
{ type: 'seq', width: 80, title: '序号', showHeaderOverflow: true },
|
|
|
{ field: 'b_r_f_name', title: '卷膜分类', showHeaderOverflow: true, minWidth: 100 },
|
|
|
+ { field: 'code', title: '卷膜代码', showHeaderOverflow: true, minWidth: 100 },
|
|
|
{ field: 'title', title: '卷膜型号', showHeaderOverflow: true, minWidth: 100 },
|
|
|
{ field: 'roll_film_number', title: '卷膜编号', showHeaderOverflow: true, minWidth: 100 },
|
|
|
{ field: 'apply_number', title: '申领数量', showHeaderOverflow: true, minWidth: 100 },
|
|
@@ -840,6 +996,14 @@ export default {
|
|
|
{field: 'mark',title:'备注',showHeaderOverflow: true,minWidth: 100}
|
|
|
]
|
|
|
}
|
|
|
+ if(res.data.in_status==1){
|
|
|
+ this.axios.post('/api/oaOrderState',{menu_id:244,order_no:this.$route.query.order_number}).then(res=>{
|
|
|
+ if (res.code === 200) {
|
|
|
+ this.oa_state_in = res.data.state;
|
|
|
+ this.oa_id_in = res.data.id
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
this.gridOptions1.data.forEach(v => {
|
|
|
v.id = v.roll_film_id;
|
|
|
v.disable = true;
|