Advertisement
Aleksandr37rus

Untitled

Sep 20th, 2022
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. let taxs = new Vue({
  3.     el: '#app',
  4.     vuetify: new Vuetify(),
  5.     data: () => ({
  6.         taxs: frontendData.taxs,
  7.         segment: frontendData.segment,
  8.         id_subsidiary: frontendData.id_subsidiary,
  9.         name_subsidiary: frontendData.name_subsidiary,
  10.         req_num: frontendData.req_num,
  11.         execution_date: frontendData.execution_date,
  12.         extension_date: frontendData.extension_date,
  13.         req_date: frontendData.req_date,
  14.         subsidiary_filial: frontendData.subsidiary_filial,
  15.         name_filial: frontendData.name_filial,
  16.         inspection: frontendData.inspection,
  17.         tax: frontendData.tax,
  18.         check_type: frontendData.check_type,
  19.         check_period: frontendData.check_period,
  20.         check_period_end: frontendData.check_period_end,
  21.         req_type: frontendData.req_type,
  22.         responsible: frontendData.responsible,
  23.         executor: frontendData.executor,
  24.         content: frontendData.content,
  25.         performerStatus: frontendData.performerStatus,
  26.         responseStatus: frontendData.responseStatus,
  27.         company_name: frontendData.company_name,
  28.         ticketP: frontendData.ticketP,
  29.         ticketF: frontendData.ticketF,
  30.         inn_company: frontendData.inn_company,
  31.         kpp_company: frontendData.kpp_company,
  32.         comment: frontendData.comment,
  33.         canal: frontendData.canal,
  34.         access: frontendData.access,
  35.         adminAccess: frontendData.adminAccess,
  36.         responsibleAccess: frontendData.responsibleAccess,
  37.         executorAccess: frontendData.executorAccess,
  38.         worker: frontendData.worker,
  39.  
  40.         dateTicketP: null, //(new Date(Date.now() - (new Date()).getTimezoneOffset() * 60000)).toISOString().substr(0, 10),
  41.         dateExtension: null, //(new Date(Date.now() - (new Date()).getTimezoneOffset() * 60000)).toISOString().substr(0, 10),
  42.         dateFormatted: null,
  43.         dateTicketPFormatted: null,
  44.         dateExecution: null, //(new Date(Date.now() - (new Date()).getTimezoneOffset() * 60000)).toISOString().substr(0, 10),
  45.         datePeriodVerStart: null, //(new Date(Date.now() - (new Date()).getTimezoneOffset() * 60000)).toISOString().substr(0, 10),
  46.         datePeriodVerEnd: null, //(new Date(Date.now() - (new Date()).getTimezoneOffset() * 60000)).toISOString().substr(0, 10),
  47.         dateTicketF: null, //(new Date(Date.now() - (new Date()).getTimezoneOffset() * 60000)).toISOString().substr(0, 10),
  48.         dateReq: null, //(new Date(Date.now() - (new Date()).getTimezoneOffset() * 60000)).toISOString().substr(0, 10),
  49.  
  50.         subsidiaryes: [],
  51.         reqNum: "",
  52.         reqType: [],
  53.         typeTax: [],
  54.         checkType: [],
  55.         workers: [],
  56.         reqStatus: [],
  57.         subsidiary: null,
  58.         SubsidiaryFilial: null,
  59.         listResponseStatus: [
  60.             'Отправлен',
  61.             'В работе',
  62.             'Отправлен частично',
  63.         ],
  64.  
  65.         legalPositionList: [
  66.             'Да',
  67.             'Нет'
  68.         ],
  69.         segmentList: [
  70.             'Генерация',
  71.             'Сбыт'
  72.         ],
  73.         edit: false,
  74.         groupNames: [],
  75.         menu: false,
  76.         menu1: false,
  77.         menu2: false,
  78.         menu3: false,
  79.         menu4: false,
  80.         statuses: [
  81.             "Назначен",
  82.             "В работе",
  83.             "Переоткрыт",
  84.             "Завершен"
  85.         ],
  86.         statusesFlag: "",
  87.         types: [
  88.             "Оплата налога",
  89.             "Сдача декларации",
  90.             "Сдача отчетности",
  91.         ],
  92.         file: null,
  93.         alertSnack: false,
  94.         snackText: "",
  95.         snackColor: "",
  96.         snackType: "",
  97.         //rules15: [v => (!v.size > 15728640) || 'Размер файла не может превышать 15МБ!'],
  98.         isValid: false,
  99.     }),
  100.     mounted() {
  101.     },
  102.     methods: {
  103.         editFlag() {
  104.             if (!this.edit) {
  105.                 return this.edit = true;
  106.             } else {
  107.                 if (this.taxs.name_subsidiary === null) {
  108.                     this.snackText = 'Выберите ДО';
  109.                     this.snackColor = 'error';
  110.                     this.snackType = 'error';
  111.                     this.alertSnack = true;
  112.                     return;
  113.                 }
  114.                 if (this.getSegment()) {
  115.                     this.snackText = 'Выберите сегмент!';
  116.                     this.snackColor = 'error';
  117.                     this.snackType = 'error';
  118.                     this.alertSnack = true;
  119.                     return;
  120.                 }
  121.                 if (this.taxs.req_num === null || this.taxs.req_num === '') {
  122.                     this.snackText = 'Номер требования не заполнен!';
  123.                     this.snackColor = 'error';
  124.                     this.snackType = 'error';
  125.                     this.alertSnack = true;
  126.                     return;
  127.                 }
  128.                 if (this.req_date === null || this.req_date.length === 0) {
  129.                     this.snackText = 'Дата требования не заполнена!';
  130.                     this.snackColor = 'error';
  131.                     this.snackType = 'error';
  132.                     this.alertSnack = true;
  133.                     return;
  134.                 }
  135.                 if (this.execution_date === null || this.execution_date.length === 0) {
  136.                     this.snackText = 'Дата получения не заполнена!';
  137.                     this.snackColor = 'error';
  138.                     this.snackType = 'error';
  139.                     this.alertSnack = true;
  140.                     return;
  141.                 }
  142.                 if (this.ticketP === null || this.ticketP.length === 0) {
  143.                     this.snackText = 'Дата ответ план не заполнена!';
  144.                     this.snackColor = 'error';
  145.                     this.snackType = 'error';
  146.                     this.alertSnack = true;
  147.                     return;
  148.                 }
  149.                 if (this.taxs.inspection === null) {
  150.                     this.snackText = 'Выберите ИФНС!';
  151.                     this.snackColor = 'error';
  152.                     this.snackType = 'error';
  153.                     this.alertSnack = true;
  154.                     return;
  155.                 }
  156.                 if (this.taxs.canal === null || this.taxs.canal.length === 0) {
  157.                     this.snackText = 'Выберите канал!';
  158.                     this.snackColor = 'error';
  159.                     this.snackType = 'error';
  160.                     this.alertSnack = true;
  161.                     return;
  162.                 }
  163.                 if (this.taxs.check_type === null) {
  164.                     this.snackText = 'Выберите вид проверки!';
  165.                     this.snackColor = 'error';
  166.                     this.snackType = 'error';
  167.                     this.alertSnack = true;
  168.                     return;
  169.                 }
  170.                 if (this.taxs.performerStatus === null) {
  171.                     this.snackText = 'Выберите статус исполнения!';
  172.                     this.snackColor = 'error';
  173.                     this.snackType = 'error';
  174.                     this.alertSnack = true;
  175.                     return;
  176.                 }
  177.                 if (this.taxs.responseStatus === null || this.taxs.responseStatus === '') {
  178.                     this.snackText = 'Выберите статус ответа!';
  179.                     this.snackColor = 'error';
  180.                     this.snackType = 'error';
  181.                     this.alertSnack = true;
  182.                     return;
  183.                 }
  184.                 if (this.taxs.req_type === null) {
  185.                     this.snackText = 'Выберите тип требования!';
  186.                     this.snackColor = 'error';
  187.                     this.snackType = 'error';
  188.                     this.alertSnack = true;
  189.                     return;
  190.                 }
  191.                 if (this.taxs.responsible === null) {
  192.                     this.snackText = 'Выберите ответственного!';
  193.                     this.snackColor = 'error';
  194.                     this.snackType = 'error';
  195.                     this.alertSnack = true;
  196.                     return;
  197.                 }
  198.                 if (this.taxs.executor === null) {
  199.                     this.snackText = 'Выберите исполнителя!';
  200.                     this.snackColor = 'error';
  201.                     this.snackType = 'error';
  202.                     this.alertSnack = true;
  203.                     return;
  204.                 }
  205.                 if (this.taxs.content !== null && this.taxs.content !== "") {
  206.                 }
  207.                 else {
  208.                     this.snackText = 'Не указано содержание!';
  209.                     this.snackColor = 'error';
  210.                     this.snackType = 'error';
  211.                     this.alertSnack = true;
  212.                     return;
  213.                 }
  214.                 if (this.taxs.inn_company != null && this.taxs.inn_company !== '') {
  215.                     const regINN = new RegExp(/^([\d+]{10}|[\d+]{12})$/);
  216.                     if (regINN.test(this.taxs.inn_company)){
  217.  
  218.                     }
  219.                     else {
  220.                         this.snackText = 'Проверьте правильность заполнения ИНН';
  221.                         this.snackColor = 'error';
  222.                         this.snackType = 'error';
  223.                         this.alertSnack = true;
  224.                         this.edit = true;
  225.                         return;
  226.                     }
  227.                 }
  228.                 TaxController.get({
  229.                     id: 'editTaxs',
  230.                     taxs: JSON.stringify(this.taxs),
  231.                     name_subsidiary: this.subsidiary,
  232.                     req_date: this.req_date,
  233.                     ticketP: this.ticketP,
  234.                     ticketF: this.ticketF,
  235.                     executionDate: this.execution_date,
  236.                     extensionDate: this.extension_date,
  237.                     taxs_id: this.taxs.id,
  238.                 }).then(response => response.text())
  239.                     .then(result => {
  240.                         this.statusesFlag = result
  241.                 if (this.statusesFlag === "Ошибка ответ факт") {
  242.                     this.snackText = 'Дата «Ответ факт» меньше даты требования!';
  243.                     this.snackColor = "error";
  244.                     this.shackType = "error";
  245.                     this.alertSnack = true;
  246.                     return;
  247.  
  248.                 }
  249.                         if (this.statusesFlag === "Ошибка срок продления") {
  250.                             this.snackText = 'Дата «Срок продления» меньше даты получения!';
  251.                             this.snackColor = "error";
  252.                             this.shackType = "error";
  253.                             this.alertSnack = true;
  254.                             return;
  255.  
  256.                         }
  257.                 if (this.statusesFlag === "Ошибка ответ план") {
  258.                     this.snackText = 'Дата «Ответ план» меньше даты требования!';
  259.                     this.snackColor = "error";
  260.                     this.shackType = "error";
  261.                     this.alertSnack = true;
  262.                     return;
  263.                 }
  264.  
  265.                 if (this.statusesFlag === "Ошибка дата получения") {
  266.                     this.snackText = '«Дата получения» меньше даты требования!';
  267.                     this.snackColor = "error";
  268.                     this.shackType = "error";
  269.                     this.alertSnack = true;
  270.                     return;
  271.                 }
  272.                 if (this.statusesFlag === "Успешно") {
  273.                     this.snackText = 'Сохраненно успешно!';
  274.                     this.snackColor = "success";
  275.                     this.shackType = "success";
  276.                     this.alertSnack = true;
  277.                     return this.edit = false;
  278.  
  279.                 }
  280.                 })
  281.             }
  282.         },
  283.         formatDate (date) {
  284.             if (!date) return null
  285.  
  286.             const [year, month, day] = date.split('-')
  287.             return `${day}/${month}/${year}`
  288.         },
  289.         parseDate (date) {
  290.             if (!date) return null
  291.  
  292.             const [month, day, year] = date.split('/')
  293.             return `${year}-${month.padStart(2, '0')}-${day.padStart(2, '0')}`
  294.         },
  295.         allowedDates: val => parseInt(val.split('-')[0], 10) % 2022 === 0,
  296.         checkForNull(obj) {
  297.             return (obj === null || obj === "" || obj === "undefined" || obj === undefined) ? "-" : obj;
  298.         },
  299.         getStatusColor() {
  300.             switch (this.tax.status) {
  301.                 case "Назначен":
  302.                     return "#8E33FF";
  303.                 case "Доставлен":
  304.                     return "#33ADFF"
  305.                 case "Получен ответ":
  306.                     return "#33ADFF"
  307.                 case "Не принят":
  308.                     return "#FF0000"
  309.                 case "В работе":
  310.                     return "#FFB700"
  311.                 case "Завершен":
  312.                     return "#14FF00"
  313.                 case "Требует дополнительных действий":
  314.                     return "#14FF00"
  315.             }
  316.         },
  317.         getTypeColor() {
  318.             switch (this.task.typeNotification) {
  319.                 case "Оплата налога":
  320.                     return "#FF0007";
  321.                 case "Сдача декларации":
  322.                     return "#FFDD00"
  323.                 case "Сдача отчетности":
  324.                     return "#AA00FF"
  325.             }
  326.         },
  327.         getSegment() {
  328.             switch (this.taxs.segment) {
  329.                 case "Генерация":
  330.                     return false;
  331.                 case "Сбыт":
  332.                     return false;
  333.                 default:
  334.                     return true;
  335.             }
  336.         },
  337.         DF() {
  338.             document.location = '/download/taxCalendar?id_task=' + this.taxs.id;
  339.         },
  340.  
  341.     },
  342.     computed: {
  343.  
  344.     },
  345.     watch: {
  346.         SubsidiaryFilial (v) {
  347.             TaxController.get({id: "getAllFilial",
  348.                 subsidiary: this.name_subsidiary})
  349.                 .then(response => response.json())
  350.                 .then(result => this.name_filial = result);
  351.  
  352.             if (v === null) {
  353.                 this.plots = [];
  354.             }
  355.             TaxController.get({id: "getAllInspection",
  356.                 subsidiary: this.name_subsidiary})
  357.                 .then(response => response.json())
  358.                 .then(result => this.inspection = result);
  359.         },
  360.         dateExtension (val) {
  361.             this.extension_date = this.formatDate(this.dateExtension).replaceAll('/', '.')
  362.         },
  363.         dateExecution (val) {
  364.             this.execution_date = this.formatDate(this.dateExecution).replaceAll('/', '.')
  365.         },
  366.         dateTicketP (val) {
  367.             this.ticketP = this.formatDate(this.dateTicketP).replaceAll('/', '.')
  368.         },
  369.         dateTicketF (val) {
  370.             this.ticketF = this.formatDate(this.dateTicketF).replaceAll('/', '.')
  371.         },
  372.         dateReq (val) {
  373.             this.req_date = this.formatDate(this.dateReq).replaceAll('/', '.')
  374.         },
  375.         subsidiary(v) {
  376.             if(v !== null && v.length !== 0) {
  377.                 TaxController.get({id: "getAllFilial",
  378.                     subsidiary: v})
  379.                     .then(response => response.json())
  380.                     .then(result => this.name_filial = result);
  381.                     this.name_filial = [];
  382.  
  383.                 TaxController.get({id: "getAllInspection",
  384.                     subsidiary: this.name_subsidiary})
  385.                     .then(response => response.json())
  386.                     .then(result => this.inspection = result);
  387.  
  388.             }
  389.         },
  390.  
  391.  
  392.     },
  393.     template:
  394.         '<v-app>' +
  395.             '<div class="text-center ma-0 pa-0" style="width: 50%">' +
  396.                 '<v-snackbar v-model="alertSnack" top absolute timeout="3000" class="pa-0 ma-0" :color="snackColor">' +
  397.                     '<v-alert style="width: 100%" :type="snackType" class="ma-0" :color="snackColor">' +
  398.                         '{{this.snackText}}'+
  399.                     '</v-alert>'+
  400.                 '</v-snackbar>'+
  401.             '</div>'+
  402.         '<v-container fluid style="width: 80%">' +
  403.             '<navBar></navBar>' +
  404.             '<v-card>' +
  405.                 '<v-card-title v-if="!access">' +
  406.                     'Информация о требовании - ID: {{taxs.id}}'+
  407.                 '</v-card-title>'+
  408.                 '<v-card-title v-else-if="access && !executorAccess && !responsibleAccess && worker">' +
  409.                     'Информация о требовании - ID: {{taxs.id}}'+
  410.                 '</v-card-title>'+
  411.                 '<v-card-title v-else-if="access">' +
  412.                     'Информация о требовании - ID: {{taxs.id}}'+
  413.         '<v-spacer></v-spacer>'+
  414.                 '<v-btn v-if="!edit" color="#f59000" class="white--text" @click="editFlag">' +
  415.                     'Редактировать' +
  416.                 '</v-btn>' +
  417.                 '<v-btn v-else color="success" class="white--text" @click="editFlag">' +
  418.                     'Сохранить' +
  419.                 '</v-btn>' +
  420.         // 'Редактировать <v-switch class="ml-3" color="success" inset v-model="edit"></v-switch>'+
  421.                 '</v-card-title>'+
  422.         '<v-card-text>' +
  423.         '<v-divider></v-divider>'+
  424.             '<v-row class="ma-0">' +
  425.                 '<v-col cols="3">ДО</v-col>'+
  426.         '<v-divider vertical></v-divider>'+
  427.                 '<v-col v-if="!edit">{{taxs.name_subsidiary}}</v-col>'+
  428.                 '<v-col v-else>' +
  429.                     '<v-autocomplete dense outlined hide-details v-model="subsidiary" ' +
  430.                         ':items="name_subsidiary" :multiple="false"' +
  431.                         'label="Выберите ДО">{{taxs.name_subsidiary}}</v-autocomplete>' +
  432.                 '</v-col>'+
  433.             '</v-row>'+
  434.         '<v-divider></v-divider>'+
  435.             '<v-row class="ma-0">' +
  436.                 '<v-col cols="3">Филиал</v-col>'+
  437.         '<v-divider vertical></v-divider>'+
  438.                 '<v-col v-if="!edit"> {{taxs.name_filial}} </v-col>'+
  439.                 '<v-col v-else>' +
  440.                     '<v-autocomplete dense outlined hide-details v-model="taxs.name_filial" :items="name_filial" :multiple="false" label="Выберите филиал"></v-autocomplete>' +
  441.                 '</v-col>'+
  442.             '</v-row>'+
  443.         '<v-divider></v-divider>'+
  444.             '<v-row class="ma-0">' +
  445.                 '<v-col cols="3">Сбыты/Генерация</v-col>'+
  446.         '<v-divider vertical></v-divider>'+
  447.                 '<v-col v-if="!edit">{{taxs.segment}}</v-col>'+
  448.                 '<v-col v-else v-model="taxs.segment">' +
  449.                     '<v-autocomplete dense outlined hide-details v-model="taxs.segment" :items="segmentList" :multiple="false" label="Выберите сегмент"></v-autocomplete>' +
  450.                 '</v-col>'+
  451.             '</v-row>'+
  452.         '<v-divider></v-divider>'+
  453.             '<v-row class="ma-0">' +
  454.                 '<v-col cols="3">Номер Требования</v-col>'+
  455.         '<v-divider vertical></v-divider>'+
  456.                 '<v-col v-if="!edit"> {{taxs.req_num}} </v-col>'+
  457.                 '<v-col v-else ><v-text-field v-model="taxs.req_num"></v-text-field></v-col>'+
  458.             '</v-row>'+
  459.         '<v-divider></v-divider>'+
  460.             '<v-row class="ma-0">' +
  461.                 '<v-col cols="3">Дата требования</v-col>'+
  462.         '<v-divider vertical></v-divider>'+
  463.                 '<v-col v-if="!edit"> {{req_date}} </v-col>'+
  464.                 '<v-col v-else>'+
  465.                     '<v-menu v-model="menu" :close-on-content-click="false" :nudge-right="40" transition="scale-transition" offset-y min-width="auto">'+
  466.                             '<template v-slot:activator="{ on, attrs }">'+
  467.                                 '<v-text-field ' +
  468.                                     'v-model="req_date" ' +
  469.                                     'label="Выберите новую дату" ' +
  470.                                     'prepend-icon="mdi-calendar" '+
  471.                                     'readonly v-bind="attrs" ' +
  472.                                     'v-on="on" locale="ru-ru"' +
  473.                                 '></v-text-field>'+
  474.                             '</template>'+
  475.                         '<v-date-picker :allowed-dates="allowedDates" first-day-of-week="1" v-model="dateReq" locale="ru-ru" @input="menu = false"></v-date-picker>'+
  476.                     '</v-menu>'+
  477.                 '</v-col>'+
  478.             '</v-row>'+
  479.         '<v-divider></v-divider>'+
  480.             '<v-row class="ma-0">' +
  481.                 '<v-col cols="3">Дата получения</v-col>'+
  482.         '<v-divider vertical></v-divider>'+
  483.                 '<v-col v-if="!edit"> {{execution_date}} </v-col>'+
  484.                 '<v-col v-else-if="edit && adminAccess">'+
  485.                     '<v-menu v-model="menu1" :close-on-content-click="false" :nudge-right="40" transition="scale-transition" offset-y min-width="auto">'+
  486.                         '<template v-slot:activator="{ on, attrs }">'+
  487.                             '<v-text-field '+
  488.                                 'v-model="execution_date" '+
  489.                                 'label="Выберите новую дату" '+
  490.                                 'prepend-icon="mdi-calendar" '+
  491.                                 'readonly '+
  492.                                 'v-bind="attrs" '+
  493.                                 'v-on="on" '+
  494.                             '></v-text-field>'+
  495.                         '</template>'+
  496.                         '<v-date-picker :allowed-dates="allowedDates" first-day-of-week="1" v-model="dateExecution" locale="ru-ru" @input="menu1 = false"></v-date-picker>'+
  497.                     '</v-menu>'+
  498.                 '</v-col>'+
  499.                 '<v-col v-else> {{execution_date}} </v-col>'+
  500.             '</v-row>'+
  501.         '<v-divider></v-divider>'+
  502.             '<v-row class="ma-0">' +
  503.                 '<v-col cols="3">Ответ план</v-col>'+
  504.         '<v-divider vertical></v-divider>'+
  505.                 '<v-col v-if="!edit"> {{ticketP}} </v-col>'+
  506.                 '<v-col v-else-if="edit && adminAccess">'+
  507.                     '<v-menu v-model="menu2" :close-on-content-click="false" :nudge-right="40" transition="scale-transition" offset-y min-width="auto">'+
  508.                         '<template v-slot:activator="{ on, attrs }">'+
  509.                             '<v-text-field '+
  510.                                 'v-model="ticketP" '+
  511.                                 'label="Выберите новую дату" '+
  512.                                 'prepend-icon="mdi-calendar" '+
  513.                                 'readonly '+
  514.                                 'v-bind="attrs" '+
  515.                                 'v-on="on" '+
  516.                             '></v-text-field>'+
  517.                         '</template>'+
  518.                         '<v-date-picker :allowed-dates="allowedDates" first-day-of-week="1" v-model="dateTicketP"  locale="ru-ru" @input="menu2 = false"></v-date-picker>'+
  519.                     '</v-menu>'+
  520.                 '</v-col>'+
  521.                 '<v-col v-else> {{ticketP}} </v-col>' +
  522.             '</v-row>'+
  523.         '<v-divider></v-divider>'+
  524.             '<v-row class="ma-0">' +
  525.                 '<v-col cols="3">Срок продления</v-col>'+
  526.         '<v-divider vertical></v-divider>'+
  527.                 '<v-col v-if="!edit"> {{extension_date}} </v-col>'+
  528.                 '<v-col v-else>'+
  529.                     '<v-menu v-model="menu4" :close-on-content-click="false" :nudge-right="40" transition="scale-transition" offset-y min-width="auto">'+
  530.                             '<template v-slot:activator="{ on, attrs }">'+
  531.                                  '<v-text-field '+
  532.                                     'v-model="extension_date" '+
  533.                                     'label="Выберите новую дату" '+
  534.                                     'prepend-icon="mdi-calendar" '+
  535.                                     'readonly '+
  536.                                     'v-bind="attrs" '+
  537.                                     'v-on="on" clearable clear-icon="mdi-close-circle-outline"'+
  538.                                 '></v-text-field>'+
  539.                             '</template>'+
  540.                         '<v-date-picker :allowed-dates="allowedDates" first-day-of-week="1" v-model="dateExtension" locale="ru-ru" @input="menu4 = false"></v-date-picker>'+
  541.                     '</v-menu>'+
  542.                 '</v-col>'+
  543.             '</v-row>'+
  544.         '<v-divider></v-divider>'+
  545.             '<v-row class="ma-0">' +
  546.                 '<v-col cols="3">Ответ факт</v-col>'+
  547.         '<v-divider vertical></v-divider>'+
  548.                 '<v-col v-if="!edit"> {{ticketF}} </v-col>'+
  549.                 '<v-col v-else>'+
  550.                     '<v-menu v-model="menu3" :close-on-content-click="false" :nudge-right="40" transition="scale-transition" offset-y min-width="auto">'+
  551.                             '<template v-slot:activator="{ on, attrs }">'+
  552.                                 '<v-text-field ' +
  553.                                     'v-model="ticketF" ' +
  554.                                     'label="Выберите новую дату" ' +
  555.                                     'prepend-icon="mdi-calendar" ' +
  556.                                     'readonly v-bind="attrs" ' +
  557.                                     'v-on="on" ' +
  558.                                 '></v-text-field>'+
  559.                             '</template>'+
  560.                         '<v-date-picker :allowed-dates="allowedDates" first-day-of-week="1" v-model="dateTicketF" locale="ru-ru" @input="menu3 = false"></v-date-picker>'+
  561.                     '</v-menu>'+
  562.                 '</v-col>'+
  563.             '</v-row>'+
  564.         '<v-divider></v-divider>'+
  565.             '<v-row class="ma-0">' +
  566.                 '<v-col cols="3">ИФНС</v-col>'+
  567.         '<v-divider vertical></v-divider>'+
  568.                 '<v-col v-if="!edit">{{taxs.inspection}}</v-col>'+
  569.                 '<v-col v-else>' +
  570.                     '<v-autocomplete dense outlined hide-details v-model="taxs.inspection" :items="inspection" :multiple="false" label="Выберите ИФНС"></v-autocomplete>' +
  571.                 '</v-col>'+
  572.             '</v-row>'+
  573.         '<v-divider></v-divider>'+
  574.             '<v-row class="ma-0">' +
  575.                 '<v-col cols="3">Канал</v-col>'+
  576.         '<v-divider vertical></v-divider>'+
  577.                 '<v-col v-if="!edit"> {{taxs.canal}} </v-col>'+
  578.                 '<v-col v-else>' +
  579.                     '<v-autocomplete dense outlined hide-details v-model="taxs.canal" :items="canal" :multiple="false" label="Выберите канал"></v-autocomplete>' +
  580.                 '</v-col>'+
  581.             '</v-row>'+
  582.         '<v-divider></v-divider>'+
  583.             '<v-row class="ma-0">' +
  584.                 '<v-col cols="3">Налог</v-col>'+
  585.         '<v-divider vertical></v-divider>'+
  586.                 '<v-col v-if="!edit"> {{taxs.tax}} </v-col>'+
  587.                 '<v-col v-else>' +
  588.                     '<v-autocomplete dense outlined hide-details v-model="taxs.tax" :items="tax" :multiple="false" label="Выберите вид налога"></v-autocomplete>' +
  589.                 '</v-col>'+
  590.             '</v-row>'+
  591.         '<v-divider></v-divider>'+
  592.             '<v-row class="ma-0">' +
  593.                 '<v-col cols="3">Вид проверки</v-col>'+
  594.         '<v-divider vertical></v-divider>'+
  595.                 '<v-col v-if="!edit"> {{taxs.check_type}} </v-col>'+
  596.                 '<v-col v-else>' +
  597.                     '<v-autocomplete dense outlined hide-details v-model="taxs.check_type" :items="check_type" :multiple="false" label="Выберите вид проверки"></v-autocomplete>' +
  598.                 '</v-col>'+
  599.             '</v-row>'+
  600.         '<v-divider></v-divider>'+
  601.             '<v-row class="ma-0">' +
  602.                 '<v-col cols="3">Период проверки</v-col>'+
  603.         '<v-divider vertical></v-divider>'+
  604.                 '<v-col v-if="!edit"> {{taxs.check_period}} </v-col>'+
  605.                 '<v-col v-else ><v-text-field v-model="taxs.check_period"></v-text-field></v-col>'+
  606.             '</v-row>'+
  607.         '<v-divider></v-divider>' +
  608.             '<v-row class="ma-0">' +
  609.                 '<v-col cols="3">Тип требования</v-col>'+
  610.         '<v-divider vertical></v-divider>'+
  611.                 '<v-col v-if="!edit"> {{taxs.req_type}} </v-col>'+
  612.                 '<v-col v-else>' +
  613.                     '<v-autocomplete dense outlined hide-details v-model="taxs.req_type" :items="req_type" :multiple="false" label="Выберите тип требования"></v-autocomplete>' +
  614.                 '</v-col>'+
  615.         '</v-row>'+
  616.         '<v-divider></v-divider>'+
  617.             '<v-row class="ma-0">' +
  618.                 '<v-col cols="3">Ответственный</v-col>'+
  619.         '<v-divider vertical></v-divider>'+
  620.                 '<v-col v-if="!edit"> {{taxs.responsible}} </v-col>'+
  621.                 '<v-col v-else>' +
  622.                     '<v-autocomplete dense outlined hide-details v-model="taxs.responsible" :items="responsible" :multiple="false" label="Выберите ответственного"></v-autocomplete>' +
  623.                 '</v-col>'+
  624.             '</v-row>'+
  625.         '<v-divider></v-divider>'+
  626.             '<v-row class="ma-0">' +
  627.                 '<v-col cols="3">Исполнитель</v-col>'+
  628.         '<v-divider vertical></v-divider>'+
  629.                 '<v-col v-if="!edit"> {{taxs.executor}} </v-col>'+
  630.                 '<v-col v-else-if="edit && executorAccess && !responsibleAccess"> {{taxs.executor}} </v-col>'+
  631.                 '<v-col v-else>' +
  632.                     '<v-autocomplete dense outlined hide-details v-model="taxs.executor" :items="executor" :multiple="false" label="Выберите исполнителя"></v-autocomplete>' +
  633.                 '</v-col>'+
  634.             '</v-row>'+
  635.         '<v-divider></v-divider>'+
  636.             '<v-row class="ma-0">' +
  637.                 '<v-col cols="3">Содержание</v-col>'+
  638.         '<v-divider vertical></v-divider>'+
  639.                 '<v-col v-if="!edit"> {{taxs.content}} </v-col>'+
  640.                 '<v-col v-else ><v-text-field v-model="taxs.content"></v-text-field></v-col>'+
  641.             '</v-row>'+
  642.         '<v-divider></v-divider>'+
  643.             '<v-row class="ma-0">' +
  644.                 '<v-col cols="3">Контрагент</v-col>'+
  645.         '<v-divider vertical></v-divider>'+
  646.                 '<v-col v-if="!edit"> {{taxs.company_name}} </v-col>'+
  647.                 '<v-col v-else ><v-text-field v-model="taxs.company_name"></v-text-field></v-col>'+
  648.             '</v-row>'+
  649.         '<v-divider></v-divider>'+
  650.             '<v-row class="ma-0">' +
  651.                 '<v-col cols="3">ИНН контрагента</v-col>'+
  652.         '<v-divider vertical></v-divider>'+
  653.                 '<v-col v-if="!edit">{{taxs.inn_company}}</v-col>'+ //checkForNull(taxs.inn_company)
  654.                 '<v-col v-else ><v-text-field v-model="taxs.inn_company"></v-text-field></v-col>'+
  655.             '</v-row>'+
  656.         '<v-divider></v-divider>'+
  657.             '<v-row class="ma-0">' +
  658.                 '<v-col cols="3">Правовая позиция</v-col>'+
  659.         '<v-divider vertical></v-divider>'+
  660.                 '<v-col v-if="!edit"> {{taxs.legal_position}} </v-col>'+
  661.                 '<v-col v-else-if="edit && executorAccess && !responsibleAccess"> {{taxs.legal_position}} </v-col>'+
  662.                 '<v-col v-else>' +
  663.                     '<v-autocomplete dense outlined hide-details v-model="taxs.legal_position" :items="legalPositionList" :multiple="false" label="Выберите правовую позицию"></v-autocomplete>' +
  664.                 '</v-col>'+
  665.             '</v-row>'+
  666.                 '<v-divider></v-divider>'+
  667.                     '<v-row class="ma-0">' +
  668.                         '<v-col cols="3">Статус исполнения</v-col>'+
  669.                 '<v-divider vertical></v-divider>'+
  670.                         '<v-col v-if="!edit"> {{taxs.performerStatus}} </v-col>'+
  671.                         '<v-col v-else>' +
  672.                             '<v-autocomplete dense outlined hide-details v-model="taxs.performerStatus" :items="performerStatus" :multiple="false" label="Выберите статус исполнителя"></v-autocomplete>' +
  673.                         '</v-col>'+
  674.                     '</v-row>'+
  675.                 '<v-divider></v-divider>'+
  676.                     '<v-row class="ma-0">' +
  677.                         '<v-col cols="3">Статус ответа</v-col>'+
  678.                 '<v-divider vertical></v-divider>'+
  679.                         '<v-col v-if="!edit"> {{taxs.responseStatus}} </v-col>'+
  680.                         '<v-col v-else>' +
  681.                             '<v-autocomplete dense outlined hide-details v-model="taxs.responseStatus" :items="listResponseStatus" :multiple="false" label="Выберите статус ответа"></v-autocomplete>' +
  682.                         '</v-col>'+
  683.                     '</v-row>'+
  684.                 '<v-divider></v-divider>'+
  685.                     '<v-row class="ma-0">' +
  686.                         '<v-col cols="3">Комментарий</v-col>'+
  687.                 '<v-divider vertical></v-divider>'+
  688.                         '<v-col v-if="!edit"> {{taxs.comment}} </v-col>'+
  689.                         '<v-col v-else ><v-text-field v-model="taxs.comment"></v-text-field></v-col>'+
  690.                     '</v-row>'+
  691.                 '<v-divider></v-divider>'+
  692.             '</v-card-text>'+
  693.                     '<v-card-title v-if="!access"></v-card-title>'+
  694.                     '<v-card-title v-else-if="access && !executorAccess && !responsibleAccess && worker"></v-card-title>'+
  695.                     '<v-card-title v-else-if="access">' +
  696.                     '<v-spacer></v-spacer>'+
  697.                         '<v-btn v-if="!edit" color="#f59000" class="white--text" @click="editFlag">' +
  698.                             'Редактировать' +
  699.                         '</v-btn>' +
  700.                         '<v-btn v-else color="success" class="white--text" @click="editFlag">' +
  701.                             'Сохранить' +
  702.                         '</v-btn>' +
  703.         // 'Редактировать <v-switch class="ml-3" color="success" inset v-model="edit"></v-switch>'+
  704.                     '</v-card-title>'+
  705.                 '</v-card>'+
  706.             '</v-container>'+
  707.         '</v-app>',
  708. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement